Module isotope::parser [−][src]
Expand description
A parser for isotope
’s grammar. Generates an AST from input strings.
Constants
ASSIGN | The symbol for an assignment |
BEGIN | The keyword for the beginning of a lifetime |
BIVAR | The symbol for bivariance |
BOOL | The type of boolean |
CONSUMED | The symbol for a consuming usage |
CONTRAVAR | The symbol for contravariance |
COVAR | The symbol for covariance |
EMPTY | The empty type |
END | The keyword for the end of a lifetime |
EX | The keyword for Ex function types |
EXCOPY | The keyword for ExCopy function types |
EXONCE | The keyword for ExOnce function types |
FALSE | The false boolean constant |
FN | The keyword for Fn function types |
FNCOPY | The keyword for FnCopy function types |
FNONCE | The keyword for FnOnce function types |
FX | The keyword for Fx function types |
FXONCE | The keyword for FxOnce function types |
INSTANT | The keyword for a free instant declaration |
INVAR | The symbol for invariance |
LAMBDA | The keyword for closures |
LET | The keyword for a |
LIFETIME | The keyword for lifetimes |
LIVE | The keyword for a live range |
LOOSE | The symbol for loosening a typing judgement |
NAT | The type of natural numbers |
OBSERVED | The symbol for an observing usage |
PARAM | The keyword for a parameter declaration |
REL_CN | The symbol for a contradictory relation |
REL_EQ | The symbol for an equality relation |
REL_GE | The symbol for a “greater than or equal to” relation |
REL_GT | The symbol for a “greater than” relation |
REL_LE | The symbol for a “less than or equal to” relation |
REL_LT | The symbol for a “less than” relation |
REL_NE | The symbol for an inequality relation |
REL_TV | The symbol for the trivial relation |
SPECIAL_CHARACTERS | The set of special characters |
STMT_SEP | The separator for statements |
TRUE | The true boolean constant |
TYPEOF | The |
TYPING | The symbol for a typing judgement |
UNIT | The unit type |
UNIVERSE | The keyword for a polymorphic typing universe |
UNUSED | The symbol for a purely borrowing usage |
USED | The symbol for a full usage |
Functions
boolean | Parse a boolean |
constraint | Parse an individual constraint on a lifetime or instant |
constraints | Parse a set of constraints on a lifetime or instant |
dependency | Parse a dependency |
expr | Parse an |
fn_kind | Parse a function kind |
ident | Parse a string forming a valid |
instant | Parse a free instant |
judgement | Parse a typing judgement |
lambda | Parse a lambda function |
let_ | Parse a |
lifetime | Parse a lifetime |
line_comment | Parse a single line comment |
multiline_comment | Parse a multi-line comment. |
natural | Parse a natural number literal |
param | Parse a parameter |
param_stmt | Parse a parameter statement |
parametrized | Parse a parametrized value |
pi | Parse a pi type |
primitive | Parse an |
relationship | Parse a relationship |
scope | Parse a scope |
sexpr | Parse an S-expression |
statement | Parse an |
typeof_expr | Parse a typeof expression |
u64_dec | Parse a decimal integer literal as a u64. |
universe | Parse a typing universe |
usage | Parse a usage glyph |
variance | Parse a variance glyph |
ws | Parse whitespace between |